// 1.联合类型
let a: string | number = 123;
a = "hello";

function fn(value: string | number) {
  (value as string).split("");
}
// fn(123)

// 2. 类型断言 as
// unknown 类型要使用属性或方法，类型断言成某个具体类型才能使用
// 联合类型要使用属性或方法，类型断言成某个具体类型才能使用

// 3.交叉类型
interface P1 {
  name: string;
}
interface P2 {
  age: number;
}
type P3 = P1 & P2;
const P: P3 = {
  name: "jack",
  age: 17,
};
